//File Header

#ifndef SPELL_H
#define SPELL_H

#include "BaseObject.h"

enum SpellTypes
{
	SPELL_CREATURE = 0,
	SPELL_SORCERY,
	SPELL_INSTANT,
	SPELL_ENCHANTMENT,
	MAX_SPELL_TYPES
};

class Spell : public BaseObject2D
{
private:

protected:
	int m_nSpellType;
	float m_fCost;
	float m_fCDTotal;
	float m_fCDRemainder;
	bool  m_bCastable;

public:
	Spell();
	~Spell();

	//Accessor
	const float GetCost()		{return m_fCost;}
	const float GetCD()			{return m_fCDRemainder;}
	const bool GetCastable()	{return m_bCastable;}

	virtual void Cast();
	virtual void Update(float dt);
	virtual void Render();

};

#endif